#pragma once

#include <opencv2/opencv.hpp>
#include <vector>
#include <string>
#include <stdexcept>
#include <seeta/Common/Struct.h>
#include <seeta/CFaceInfo.h>
#include <QImage>

namespace YQ {

using std::vector;
using std::string;
using std::runtime_error;
using cv::Mat;
using cv::imread;
using seeta::ImageData;

ImageData toImageData (const Mat &);
ImageData toImageData (const string &) noexcept (false);
Mat toMat (const ImageData &);
Mat toMat (const string &) noexcept (false);
cv::Rect toCvRect (const SeetaRect &);
vector<SeetaFaceInfo> toVector (const SeetaFaceInfoArray &faces_info);

QImage toQImage(const Mat&);
Mat toMat(const QImage&);

}